﻿
// DAOTestDoc.h: CDAOTestDoc 类的接口
//


#pragma once

extern void DaoErrorMsg(CDaoException* e);

class CDAOTestDoc : public CDocument
{
protected: // 仅从序列化创建
	CDAOTestDoc() noexcept;
	DECLARE_DYNCREATE(CDAOTestDoc)

// 特性
public:

// 操作
public:

// 重写
public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
#ifdef SHARED_HANDLERS
	virtual void InitializeSearchContent();
	virtual void OnDrawThumbnail(CDC& dc, LPRECT lprcBounds);
#endif // SHARED_HANDLERS

// 实现
public:
	virtual ~CDAOTestDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// 生成的消息映射函数
protected:
	DECLARE_MESSAGE_MAP()
	virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
	virtual void OnCloseDocument();

public:
	void GetQuery();
	void PutQuery();
	void GetFiledSpecs();
	void OpenRecordSet();

private:
	void DaoOpenMDB();
	void DaoOpenOdbc();
	void DaoOpenIsam();

public:
	CDaoRecordset* m_pRecordset;
	CDaoDatabase m_Database;
	CStringArray m_arrFiledName;
	CWordArray m_arrFiledSize;
	int m_nFileds;
	int m_nRowCount;
	CString m_strDatabase;
	CString m_strConnect;
	CString m_strQuery;
	BOOL m_bConnected;
	enum {UNK,MDB,ISAM,ODBC} m_DatabaseType;

#ifdef SHARED_HANDLERS
	// 用于为搜索处理程序设置搜索内容的 Helper 函数
	void SetSearchContent(const CString& value);
#endif // SHARED_HANDLERS
	afx_msg void OnFileDaoopenMdb();
	afx_msg void OnFileDaoopenIsam();
	afx_msg void OnFileDaoopenOdbc();
	afx_msg void OnFileDaodisconnect();
	afx_msg void OnReQuery();
	afx_msg void OnUpdateFileDaodisconnect(CCmdUI* pCmdUI);
	afx_msg void OnUpdateQuery(CCmdUI* pCmdUI);

};
